package com.tony.juc;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Title: ArrayListDemo001
 * @Auther: 皮蛋布丁
 * @Date: 2022/04/14/9:41
 * @Description: 并发集合
 */
public class ArrayListDemo001 {

    public static void main(String[] args) {

        //ArrayList是一个基于数组的形式实现的集合存储，那么既然属于数组的形式，最终就需要考虑到索引的操作问题
        /*List<String> all = new ArrayList<>(); //创建一个List集合
        for (int num = 0; num < 10; num++) { //创建10个线程
            new Thread(()->{
                for (int i = 0; i < 10; i++) {
                    all.add("【" + Thread.currentThread().getName() + "】皮蛋布丁"); //添加集合数据
                    System.out.println(all); //输出全部的数据内容
                }
            },"集合操作线程_" + num).start();
        }*/

        List<String> originAll = new ArrayList<>(); //创建一个List集合
        List<String> all = Collections.synchronizedList(originAll); //集合转换
        for (int num = 0; num < 10; num++) { //创建10个线程
            new Thread(()->{
                for (int i = 0; i < 10; i++) { //进行数据的循环更新操作
                    all.add("【" + Thread.currentThread().getName() + "】皮蛋布丁"); //添加集合数据
                    System.out.println(all); //输出全部的数据内容
                }
            },"集合操作线程_" + num).start(); //线程启动
        }

    }

}
